﻿using System;
using System.Collections.Generic;
using System.Text;

namespace TbDataSync
{
    public class Id
    {
        /// <summary>
        /// 
        /// </summary>
        public string entityType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string id { get; set; }
    }

    public class AdditionalInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public bool gateway { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public bool overwriteActivityTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string description { get; set; }
    }

    public class TenantId
    {
        /// <summary>
        /// 
        /// </summary>
        public string entityType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string id { get; set; }
    }

    public class CustomerId
    {
        /// <summary>
        /// 
        /// </summary>
        public string entityType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string id { get; set; }
    }

    public class DeviceProfileId
    {
        /// <summary>
        /// 
        /// </summary>
        public string entityType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string id { get; set; }
    }

    public class Configuration
    {
        /// <summary>
        /// 
        /// </summary>
        public string type { get; set; }
    }

    public class TransportConfiguration
    {
        /// <summary>
        /// 
        /// </summary>
        public string type { get; set; }
    }

    public class DeviceData
    {
        /// <summary>
        /// 
        /// </summary>
        public Configuration configuration { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TransportConfiguration transportConfiguration { get; set; }
    }

    public class DataItem
    {
        /// <summary>
        /// 
        /// </summary>
        public Id id { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public long createdTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public AdditionalInfo additionalInfo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TenantId tenantId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public CustomerId customerId { get; set; }
        /// <summary>
        /// 子系统--异常感知列表
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string label { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DeviceProfileId deviceProfileId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DeviceData deviceData { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string firmwareId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string softwareId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string customerTitle { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string customerIsPublic { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string deviceProfileName { get; set; }
    }

    public class DeviceInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public List<DataItem> data { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int totalPages { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int totalElements { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string hasNext { get; set; }
    }

}
